def P(n,dictP):
    if n in dictP:
        return dictP[n]
    if n==1:
        dictP[n]=1
        return 1
    else:
        q=0
        for k in range(1,n):
            q+=P(k,dictP)*P(n-k,dictP)
        dictP[n]=q
        return q
def T(n,dictT):
    if n in dictT:
        return dictT[n]
    if n==1:
        dictT[n]=1
        return 1
    else:
        q=1
        for k in range(1,n):
            q+=T(k,dictT)+T(n-k,dictT)+1
        dictT[n]=q
        return q

if __name__=='__main__':
    dictP={}
    dictT={}
    for i in range(1,21):
        print 'P(',i,')=',P(i,dictP),
        print 'T(',i,')=',T(i,dictT), P(i,dictP)>T(i,dictT)
